package com.xbongbong.paas.enums;

import lombok.Getter;

import java.util.Objects;

/**
 * @author: wufeng
 * @date: 2018/10/11 10:43
 * @desrcption: 关联数据或者关联查询的关联表的关联字段可以显示的字段
 */
@Getter
public enum LinkFieldDisplayEnum {

    // 单行文本
    TEXT(FieldTypeEnum.TEXT),
    //数字
    NUM(FieldTypeEnum.NUM),
    // 下拉框:combo
    COMBO(FieldTypeEnum.COMBO),
    // DateTimeEnum
    DATETIME(FieldTypeEnum.DATETIME),
    // 多行文本
    TEXTAREA(FieldTypeEnum.TEXTAREA),
    // 复选框组：checkboxgroup
    CHECKBOX_GROUP(FieldTypeEnum.CHECKBOX_GROUP),
    // address 地址
    ADDRESS(FieldTypeEnum.ADDRESS),
    // 定位
    LOCATION(FieldTypeEnum.LOCATION),
    // radiogroup 单选按钮
    RADIO_GROUP(FieldTypeEnum.RADIO_GROUP),
    // 下拉框复选：combocheck
    COMBO_CHECK(FieldTypeEnum.COMBO_CHECK),
    // IMAGE
    IMAGE(FieldTypeEnum.IMAGE),
    // UPLOAD
    UPLOAD(FieldTypeEnum.UPLOAD),
    // 子表单
    SUB_FORM(FieldTypeEnum.SUB_FORM),
    // 联系电话
    CONTACT_NUMBER(FieldTypeEnum.CONTACT_NUMBER),

    // 成员单选 user
    USER(FieldTypeEnum.USER),
    // 成员单选 usergroup
    USER_GROUP(FieldTypeEnum.USER_GROUP),
    // dept 部门单选
    DEPT(FieldTypeEnum.DEPT),
    // deptgroup 部门多选
    DEPT_GROUP(FieldTypeEnum.DEPT_GROUP),
    // serial number 流水号
    SERIALNO(FieldTypeEnum.SERIALNO),

    TEXT_CHECK(FieldTypeEnum.TEXT_CHECK),

    ADDTIME(FieldTypeEnum.ADDTIME),

    LABEL(FieldTypeEnum.LABEL),

    //应收账期
    ACCOUNT_PERIOD(FieldTypeEnum.ACCOUNT_PERIOD),

    //阶段推进器
    STAGE_THRUSTER(FieldTypeEnum.STAGE_THRUSTER),
    ;

    /**
     * 字段类型
     */
    private FieldTypeEnum fieldTypeEnum;

    LinkFieldDisplayEnum(FieldTypeEnum fieldTypeEnum){
        this.fieldTypeEnum = fieldTypeEnum;
    }

    public static LinkFieldDisplayEnum getFieldTypeEnum(Integer type) {
        for (LinkFieldDisplayEnum e: values()) {
            if(Objects.equals(e.getFieldTypeEnum().getType(), type)){
                return e;
            }
        }
        return null;
    }


}
